import torchvision

# 由于原始图片-->test_set.classes是PIL的，要进行转换，变成tensor数据类型-->通过transforms
from torch.utils.tensorboard import SummaryWriter

dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor(),  # 进行tensor的一个转换
    # 还可以进行裁剪什么的，由于此处的数据集内的图片比较小，就不干这些事情了
])
# root="./dataset220418"-->表示会在当前保存py的路径下创建一个dataset220418文件
# train=True-->这个是默认的
# download=True-->因为没有准备数据集，所以download=True让他进行一个下载 --> 因为下载比较慢-->可以将run中的下载链接拿去IDM中进行下载
# 关于外面下载的dataset怎么放进来--> 直接建立一个文件目录同名的，然后将外面下载的包复制到该目录下，再次进行运行就会显示使用的已经下载好的包
# 如果下载的时候run没有显示下载的源链接，可以按住ctrl-->点击datasets的CIFAR100去其源代码中，就会有url的链接
train_set = torchvision.datasets.CIFAR100(root="./dataset220418", train=True, transform=dataset_transform, download=True)
test_set = torchvision.datasets.CIFAR100(root="./dataset220418", train=False, transform=dataset_transform, download=True)

# print(test_set[0])  # test_set的组成部分--> (<PIL.Image.Image image mode=RGB size=32x32 at 0x2481511C370>, 49)--> (图片类型,target)
# print(test_set.classes)
#
# img, target = test_set[0]
# print(img)
# print(target)
# print(test_set.classes[target])
# img.show()  # 跳出图片展示

# transforms --> 更多的用在dataset上面 -->transforms的属性中

writer = SummaryWriter("../log/p10")  # 文件保存为--> p10 -->和logs 是一样的
for i in range(10):  # 显示前十张图片
    img, target = test_set[i]
    writer.add_image("test", img, i)

writer.close()
